<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">BAJA DE INVENTARIO</ui:define>
	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel" header="BAJA DE INVENTARIO"
			style="margin-bottom:10px;height:auto;">

			<h:form id="formTotales" style="height: 0px;">
				<h:panelGrid columns="2" cellpadding="0" style="float:right;">

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="TOTAL:" />
					<p:inputText readonly="true"
						value="#{bajaInventarioBean.cantidadFacturaPresentar.subTotal}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

				</h:panelGrid>
			</h:form>

			<h:form id="formDocumento">

				<h:panelGrid columns="4" cellpadding="1">
					<p:outputLabel value="LOCAL:" styleClass="negrita" />
					<p:selectOneMenu id="comboLocal"
						value="#{bajaInventarioBean.egreso.local.localid}"
						styleClass="comboCedula" style="width: 190px !important;"
						filter="true" filterMatchMode="contains" required="true"
						requiredMessage="ESCOJA UN LOCAL">
						<f:selectItem itemLabel="ESCOJA UN LOCAL" />
						<f:selectItems value="#{bajaInventarioBean.listaLocales}"
							var="local" itemValue="#{local.localid}"
							itemLabel="#{local.nombre}" />
						<p:ajax update=":mensaje" event="change"
							listener="#{bajaInventarioBean.obtenerBodega}" />
					</p:selectOneMenu>

					<h:outputText value="BAJA DE INVENTARIO Nº:" styleClass="negrita" />
					<p:inputText value="#{bajaInventarioBean.egreso.codigodocumento}" />
				</h:panelGrid>

				<h:panelGrid columns="2" cellpadding="1">
					<p:commandButton value="GUARDAR" update=":mensaje" id="btnGuardar"
						icon="ui-icon-bookmark"
						oncomplete="comprobarGuardar(xhr, status, args)"
						actionListener="#{bajaInventarioBean.comprobarTodo}" />

					<p:commandButton value="CANCELAR" id="btnlimpiar"
						update="formDocumento, :formDataTable, :formTotales"
						icon="ui-icon-close"
						actionListener="#{bajaInventarioBean.cancelarTodo}"
						process="@this" />
				</h:panelGrid>
			</h:form>

			<h:form id="formDataTable">

				<p:dataTable id="tablaDetalleEgresos" var="facturaReporte"
					value="#{bajaInventarioBean.facturaReportes}" paginator="true"
					rows="10" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" editable="true" editMode="cell">

					<f:facet name="header">
						<h:form style="margin-bottom: 8px">
							<p:commandButton update=":formNuevoProducto , :mensaje"
								oncomplete="comprobarDialogoProducto(xhr, status, args)"
								actionListener="#{bajaInventarioBean.comprobarClienteLocal}"
								id="btnNuevo" icon="ui-icon-plus" value="INSERTAR PRODUCTO" />
						</h:form>
					</f:facet>

					<p:ajax event="cellEdit"
						listener="#{bajaInventarioBean.obtenerFila}" update=":mensaje" />

					<p:column headerText="GESTIONAR FACTURA"
						style="text-align:center;width: 50px;">

						<p:commandButton id="btnEliminar" update=":formEliminar"
							oncomplete="PF('detalleEgresoDialogoEliminar').show()"
							icon="#{msg['iconoEliminar']}"
							disabled="#{!facturaReporte.eliminar}">
							<f:setPropertyActionListener value="#{facturaReporte}"
								target="#{bajaInventarioBean.facturaReporte}" />
						</p:commandButton>

					</p:column>

					<p:column headerText="CODIGO" filterBy="#{facturaReporte.codigo}"
						style="text-align:center;width: 50px;">
							 	#{facturaReporte.codigo}
						</p:column>

					<p:column headerText="DESCRIPCION"
						filterBy="#{facturaReporte.descripcion}"
						style="text-align:center;width: 50px;">
						<p:inputText id="nombre" value="#{facturaReporte.descripcion}"
							readonly="true" />
						<p:tooltip for="nombre" value="#{facturaReporte.descripcion}" />
					</p:column>

					<p:column headerText="MOTIVO DE BAJA"
						filterBy="#{facturaReporte.motivoBaja}"
						style="text-align:center;width: 50px;">
					#{facturaReporte.motivoBaja}
				</p:column>

					<p:column headerText="CANTIDAD"
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.cantidad} " />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{bajaInventarioBean.cantidad}"
									disabled="#{!facturaReporte.eliminar}">
									<p:ajax event="change"
										listener="#{bajaInventarioBean.cambiarCantidad}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="P. COSTO"
						style="text-align:center;width: 50px;">
						<h:outputText value="#{facturaReporte.precioUnitVenta}" />
					</p:column>

					<p:column headerText="IMPORTE"
						style="text-align:center;width: 50px;">  
            				#{facturaReporte.importe}  
        				</p:column>

				</p:dataTable>
			</h:form>

			<p:dialog header="GUARDAR" widgetVar="bajaInventario"
				resizable="false" modal="false" showEffect="clip" hideEffect="fold"
				id="dialogoBajaInventario">

				<h:form id="fromAnular">
					<h:panelGrid columns="1" cellpadding="1">
						<h:panelGrid columns="2" cellpadding="1">
							<h:outputLabel value="USUARIO: " />
							<p:inputText value="#{bajaInventarioBean.login}" required="true"
								requiredMessage="INGRESE EL USUARIO" />

							<h:outputLabel value="CLAVE: " />
							<p:password value="#{bajaInventarioBean.pass}" required="true"
								requiredMessage="INGRESE LA CLAVE" />
						</h:panelGrid>
						<h:panelGrid columns="2" cellpadding="1">
							<p:commandButton value="SI"
								actionListener="#{bajaInventarioBean.insertar}"
								update=":formDocumento, :formDataTable,  :formTotales, :mensaje"
								oncomplete="PF('bajaInventario').hide()" icon="ui-icon-check" />

							<p:commandButton value="NO"
								oncomplete="PF('bajaInventario').hide()" icon="ui-icon-close" />
						</h:panelGrid>
					</h:panelGrid>
				</h:form>
			</p:dialog>

			<p:dialog widgetVar="detalleEgresoDialogoEliminar" severity="alert"
				header="SACAR PRODUCTO DE LA LISTA" showEffect="explode"
				hideEffect="explode" modal="false" resizable="false" width="300px"
				style="text-align: center;">
				<h:form id="formEliminar">
					<br />
					<p:outputLabel value="¿ ESTA SEGURO DE SACAR ESTE PRODUCTO ?" />
					<br />
					<br />
					<p:commandButton value="ACEPTAR"
						update=":formDataTable,:mensaje, :formTotales"
						icon="ui-icon-check"
						oncomplete="PF('detalleEgresoDialogoEliminar').hide()"
						actionListener="#{bajaInventarioBean.eliminarDetalle}" />
					<p:commandButton value="CANCELAR" type="button"
						onclick="PF('detalleEgresoDialogoEliminar').hide()"
						icon="ui-icon-close" />
				</h:form>
			</p:dialog>

			<p:dialog header="INSERTAR PRODUCTO" widgetVar="productoDialogoNuevo"
				resizable="false" modal="fasle" showEffect="clip" hideEffect="fold"
				id="dialogoNuevo" width="50%">

				<h:form>
					<h:outputText value="NOMBRE DEL PRODUCTO " />
					<p:inputText value="#{bajaInventarioBean.nombreProducto}"
					 required="true"
						requiredMessage="ESCRIBA EL CODIGO DE UN PRODUCTO" />

					<p:commandButton update=":formNuevoProducto:tablaProductos"
						icon="#{msg['iconoGuardar']}"
						actionListener="#{bajaInventarioBean.obtenerProductos}" />
				</h:form>

				<h:form id="formNuevoProducto">

					<p:focus context="formNuevoProducto" />

					<h:panelGrid columns="1" cellpadding="1">
						<p:dataTable id="tablaProductos" var="producto"
							value="#{bajaInventarioBean.listProductos}" paginator="true"
							rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
							paginatorPosition="bottom" rowKey="#{producto.productoid}"
							selection="#{bajaInventarioBean.producto}" selectionMode="single">

							<p:ajax event="rowSelect"
								listener="#{bajaInventarioBean.cargarProducto}" />

							<p:column headerText="EAN" style="text-align:center;" width="20%">
							 	#{producto.ean}
						</p:column>

							<p:column headerText="NOMBRE" style="text-align:center;">
							 	#{producto.nombreimprimir}
						</p:column>

						</p:dataTable>
					</h:panelGrid>

					<h:panelGrid id="panelNuevo" columns="4" cellpadding="1">
						<h:outputText value="CANTIDAD: " />
						<p:inputText value="#{bajaInventarioBean.facturaReporte.cantidad}"
							required="true" requiredMessage="ESCOJA UNA CANTIDAD"
							style="width:80px" />

						<p:outputLabel value="MOTIVO DE BAJA: " styleClass="negrita" />
						<p:selectOneMenu
							value="#{bajaInventarioBean.motivoBaja.motivobajaid}"
							styleClass="comboCedula" filter="true" filterMatchMode="contains"
							required="true" requiredMessage="ESCOJA UN MOTIVO DE BAJA">
							<f:selectItem itemLabel="ESCOJA UN MOTIVO DE BAJA" />
							<f:selectItems value="#{bajaInventarioBean.listaMotivoBajas}"
								var="motivoBaja" itemValue="#{motivoBaja.motivobajaid}"
								itemLabel="#{motivoBaja.nombre}" />
						</p:selectOneMenu>

						<f:facet name="footer">
							<p:separator />
							<p:commandButton value="GUARDAR"
								update="formNuevoProducto,:formDataTable ,:mensaje, :formTotales"
								id="btnNuevoAceptar" icon="#{msg['iconoGuardar']}"
								actionListener="#{bajaInventarioBean.insertarDetalle}"
								styleClass="centrarBotonesDialogos" />

							<p:commandButton value="CANCELAR"
								oncomplete="PF('productoDialogoNuevo').hide()"
								id="btnNuevolimpiar" icon="#{msg['iconoCancelar']}"
								actionListener="#{bajaInventarioBean.cancelar}" process="@this"
								styleClass="centrarBotonesDialogos" />
						</f:facet>

					</h:panelGrid>

				</h:form>

			</p:dialog>

		</p:panel>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.cerrar) {
					PF('personaDialogoNuevo').hide();
				}
			}

			function comprobarDialogoProducto(xhr, status, args) {
				if (args.error1) {
					PF('productoDialogoNuevo').show()
				}
			}

			function comprobarFactura(xhr, status, args) {
				if (args.error) {
					PF('clienteDialogoPago').show()
				}
			}

			function comprobarGuardar(xhr, status, args) {
				if (args.error2) {
					PF('bajaInventario').show()
				}
			}
			//]]>

			function handleSubmitRequest(args) {
				if (!args.validationFailed) {
					productoDialogoNuevo.hide();
				}
			}
		</script>

	</ui:define>

</ui:composition>
</html>